﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System.Collections.ObjectModel
Imports roncliProductions.LibWowArmory.Enums

Namespace roncliProductions.LibWowArmory.Data

    ''' <summary>
    ''' A class containing information about a guild reward.
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Reward

        ''' <summary>
        ''' The required guild level to receive the reward.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredGuildLevel As Integer

        ''' <summary>
        ''' The required guild reputation standing to receive the reward.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredGuildStanding As Standing

        Private colRaces As Collection(Of Race)
        ''' <summary>
        ''' The races allowed to receive the reward.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property Races As Collection(Of Race)
            Get
                Return colRaces
            End Get
        End Property

        ''' <summary>
        ''' The guild achievement that unlocks the reward.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Achievement As Achievement

        ''' <summary>
        ''' The guild reward item.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Item As Item

        Protected Friend Sub New(intRequiredGuildLevel As Integer, sRequiredGuildStanding As Standing, rRaces As Collection(Of Race), aAchievement As Achievement, iItem As Item)
            RequiredGuildLevel = intRequiredGuildLevel
            RequiredGuildStanding = sRequiredGuildStanding
            colRaces = rRaces
            Achievement = aAchievement
            Item = iItem
        End Sub

    End Class

End Namespace
